home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / regist2a / auxcode.bas next >
BASIC Source File  |  1998-03-20  |  3KB  |  116 lines

  1. Attribute VB_Name = "Aux"
  2. Option Explicit
  3.  
  4. Public g_strFiles()     As String
  5.  
  6.  
  7. Public Sub Center(ByRef frm As Form)
  8.  
  9.     frm.Top = (Screen.Height - frm.Height) / 2
  10.     frm.Left = (Screen.Width - frm.Width) / 2
  11.  
  12. End Sub
  13.  
  14.  
  15. Public Sub FindFiles(ByVal blnRecurse As Boolean, _
  16.         ByVal strPath As String, ByVal strFilter As String)
  17.         
  18. On Error GoTo findfiles_Err
  19.  
  20. Dim intFileCount             As Integer
  21. Dim blnStop                  As Boolean
  22. Dim strFile                  As String
  23. Dim intResult                As Integer
  24. Dim strDirectories()         As String
  25. Dim intDirCount              As Integer
  26. Dim intDirSearch             As Integer
  27.  
  28.     intFileCount = UBound(g_strFiles)
  29.     intDirCount = 0
  30.     
  31.     RegAid!sbrStatus.SimpleText = "Searching: " & strPath
  32.     
  33.     ReDim strDirectories(0)
  34.  
  35.     strFile = Dir(strPath & "\" & strFilter)
  36.     Do While strFile <> ""
  37.         intFileCount = intFileCount + 1
  38.         ReDim Preserve g_strFiles(intFileCount)
  39.         g_strFiles(intFileCount - 1) = strPath & "\" & UCase$(strFile)
  40.         strFile = Dir
  41.     Loop
  42.     
  43.     If blnRecurse Then
  44.         'Build list of directories
  45.         strFile = Dir(strPath & "\*.*", vbDirectory)
  46.         Do While (strFile <> "")
  47.             If strFile <> "." And strFile <> ".." Then
  48.                 intResult = GetAttr(strPath & "\" & strFile) And vbDirectory
  49.                 If intResult <> 0 Then
  50.                     intDirCount = intDirCount + 1
  51.                     ReDim Preserve strDirectories(intDirCount)
  52.                     strDirectories(intDirCount - 1) = strFile
  53.                 End If
  54.             End If
  55.             strFile = Dir
  56.         Loop
  57.         
  58.         'Recurse through all directories
  59.         For intDirSearch = 0 To intDirCount - 1
  60.             Call FindFiles(True, strPath & "\" & strDirectories(intDirSearch), strFilter)
  61.         Next intDirSearch
  62.         
  63.         'Reset list for recursion unwinding
  64.         Erase strDirectories
  65.         ReDim strDirectories(0)
  66.         intDirCount = 0
  67.         
  68.     End If
  69.         
  70. Exit Sub
  71. findfiles_Err:
  72.  
  73.     MsgBox CStr(Err.Number) & " -- " & Err.Description, vbCritical, "RegArbiter"
  74.        
  75. End Sub
  76.  
  77. Public Sub ListFiles(ByVal lst As ListBox)
  78. Dim intFileCount As Integer
  79. Dim i As Integer
  80.  
  81.     lst.Clear
  82.     intFileCount = UBound(g_strFiles)
  83.     
  84.         
  85.     For i = 0 To intFileCount - 1
  86.         lst.AddItem g_strFiles(i)
  87.     Next i
  88.     
  89.     If intFileCount = 0 Then
  90.         RegAid!sbrStatus.SimpleText = "No files found for selected mask(s)."
  91.     Else
  92.         RegAid!sbrStatus.SimpleText = "Files found: " & CStr(lst.ListCount)
  93.     End If
  94.  
  95. End Sub
  96.  
  97. Public Sub PopulateFilter(lst As ListBox)
  98. Dim intFilterCount As Integer
  99. Dim intFilterMax As Integer
  100.  
  101.     
  102.     
  103.     'Default the filter
  104.     ReDim g_strFilter(2)
  105.     g_strFilter(0) = "*.OCX"
  106.     g_strFilter(1) = "*.DLL"
  107.     
  108.     intFilterMax = UBound(g_strFilter)
  109.     
  110.     For intFilterCount = 0 To intFilterMax - 1
  111.         lst.AddItem g_strFilter(intFilterCount), intFilterCount
  112.         lst.ItemData(intFilterCount) = intFilterCount
  113.     Next intFilterCount
  114.  
  115. End Sub
  116.